$duration:60;
$numberOfDots:20;
$oscillations:40;

.frame{
    position: absolute;
    inset: 0;
    margin: auto;
    width: 400px;
    height: 400px;
    box-shadow: 1px 2px 10px rgba(0,0,0,0.3);
    border-radius: 2px;
    overflow: hidden;
    background-color: #4c4ba2;
}

.dots{
    padding-top: 28px;
    padding-left: 194px;
    
    .dot{
        width: 12px;
        height: 12px;
        background-color: #fff;
        border-radius: 50%;
        margin: 5px 0;
    }
}

@for $i from 1 through $numberOfDots{
    $time:$duration / ($oscillations + $numberOfDots -$i);
    .dot-#{$i}{
        animation: dot ($time * 1000)+ms ease-in-out infinite;
    }
}


@keyframes dot {
    0%,100%{
        transform: translateX(-50px);
    }
    50%{
        transform: translateX(50px);
    }
}